package com.lgc.algorithm.bubble;

/**
 * 冒泡
 * 时间复杂度为O(n*n);
 * 第二个数同第一个数比，如果比第一个小，就交换位置；第三个数同第二个数比，如果比第二个小，就交换位置，以此类推
 */
public class BubbleSort {
    public int[] bubbleSort(int[] A, int n) {
        int temp;
        for (int i = 0; i < n - 1; i++) {
            for (int j = 0; j < n - 1 - i; j++) {
                if (A[j + 1] < A[j]) {
                    temp = A[j];
                    A[j] = A[j + 1];
                    A[j + 1] = temp;
                }
            }
        }
        return A;
    }

    public static void main(String[] args) {
        BubbleSort bubSort = new BubbleSort();
        int[] A = {10,2,8,1, 2, 3, 5, 2, 3};
        int[] ASort = bubSort.bubbleSort(A, A.length);
        for (int i = 0; i < ASort.length; i++) {
            System.out.println(ASort[i]);
        }

    }
}
